Hard disk drive (HDD) systems with dedicated servo show potential to achieve higher recording density as compared to conventional servo systems that share the surface area of the medium with data on the same track. For example, by adding a dedicated servo recording layer in between the conventional perpendicular recording data layer and the soft-underlayer (SUL), nearly all the surface of the data layer can be used for data recording. However, one challenge of the dedicated servo system is the interference between the data signal recorded on the data layer and the servo signal recorded on the servo layer. In this regard, since the servo signal of the dedicated servo is designed at dc, the dc-free constrained codes have the ability to reduce the interference between the data and servo signals.
In HDD systems with dedicated servo, there are generally two types of code constraints to be satisfied in the channel sequences. Namely, the maximum run length limited (RLL) constraint (also known as the k constraint) and the dc-free constraint. The k constraint specifies the maximum number of consecutive zeros between two ones in the channel sequences to facilitate timing recovery of the channel readback signal. The dc-free constraint, on the other hand, is used to suppress the dc component of the channel sequences to reduce the interference between the data signal and the servo signal of the dedicated servo.
A straightforward way of constructing the k constrained code is by using table look-up. However, this approach cannot achieve high code rates as the size of the corresponding look-up tables will be huge and are not affordable for practical hardware application. In certain conventional methods, an enumerative coding scheme may be used to design high rate k constrained codes with long codeword lengths. However, it has been found that the enumerative coding scheme can lead to serious error propagation during decoding. A single error in the received word may result in massive amounts of decoded errors. In other conventional methods, an interleaving scheme may be used to achieve high code rates by interleaving coded and uncoded symbols, where the coded symbols are obtained from a low-rate k constrained base code. More recently, a nibble replacement coding technique has been disclosed which uses various k constrained codes that achieve higher code efficiencies than those disclosed previously. However, the nibble replacement method designs the k constrained codes in the non-return-to-zero-inverse (NRZI) format rather than in the non-return-to-zero (NRZ) format.